Unified communications using called party location

ABSTRACT

Call processing can include receiving a call directed to a first destination device associated with a called party, determining, using a processor, an attribute of the call, and determining a location of the called party. A call processing rule can be selected that matches the attribute of the call and the location of the called party. The call can be redirected to a second and different destination device according to the matched call processing rule.

BACKGROUND

Call forwarding refers to a feature in which an incoming call to a firstdestination is redirected to a second or different destination. Forexample, one may wish to have calls to one's home telephone forwarded,e.g., redirected, to one's mobile phone. In this example, onceactivated, call forwarding causes a call to one's home, e.g., the firstdestination, to be redirected to one's mobile phone, i.e., the seconddestination. Typically, the destination to which a call is redirected isstatic. As such, calls are forwarded to the second number until thefeature is turned off or a different destination is specified by theperson receiving the calls.

BRIEF SUMMARY

A method includes receiving a call directed to a first destinationdevice associated with a called party, determining, using a processor,an attribute of the call, and determining a location of the calledparty. The method further includes selecting, using the processor, acall processing rule matching the attribute of the call and the locationof the called party and redirecting the call to a second and differentdestination device according to the matched call processing rule.

A system includes a processor programmed to initiate executableoperations. The executable operations include receiving a call directedto a first destination device associated with a called party,determining an attribute of the call, and determining a location of thecalled party. The executable operations further include selecting a callprocessing rule matching the attribute of the call and the location ofthe called party and redirecting the call to a second and differentdestination device according to the matched call processing rule.

A computer program product for call processing includes a computerreadable storage medium having program code stored thereon. The programcode is executable by a processor to perform a method. The methodincludes receiving, using the processor, a call directed to a firstdestination device associated with a called party, determining, usingthe processor, an attribute of the call, and determining, using theprocessor, a location of the called party. The method further includesselecting, using the processor, a call processing rule matching theattribute of the call and the location of the called party andredirecting, using the processor, the call to a second and differentdestination device according to the matched call processing rule.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram illustrating an example of a communicationsystem.

FIG. 2 is a table illustrating examples of call processing rules.

FIG. 3 is an exemplary implementation of the call processing system ofFIG. 1.

FIG. 4 is a flow chart illustrating an exemplary method of callprocessing.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer-readablemedium(s) having computer-readable program code embodied, e.g., stored,thereon.

Any combination of one or more computer-readable medium(s) may beutilized. The computer-readable medium may be a computer-readable signalmedium or a computer-readable storage medium. The phrase“computer-readable storage medium” means a non-transitory storagemedium. A computer-readable storage medium may be, for example, but notlimited to, an electronic, magnetic, optical, electromagnetic, infrared,or semiconductor system, apparatus, or device, or any suitablecombination of the foregoing. More specific examples (a non-exhaustivelist) of the computer-readable storage medium would include thefollowing: an electrical connection having one or more wires, a portablecomputer diskette, a hard disk drive (HDD), a solid state drive (SSD), arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), a digital versatiledisc (DVD), an optical storage device, a magnetic storage device, or anysuitable combination of the foregoing. In the context of this document,a computer-readable storage medium may be any tangible medium that cancontain, or store a program for use by or in connection with aninstruction execution system, apparatus, or device.

A computer-readable signal medium may include a propagated data signalwith computer-readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer-readable signal medium may be any computer-readable medium thatis not a computer-readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer-readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber, cable, RF, etc., or any suitable combination ofthe foregoing. Computer program code for carrying out operations foraspects of the present invention may be written in any combination ofone or more programming languages, including an object orientedprogramming language such as Java™, Smalltalk, C++ or the like andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer, or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider).

Aspects of the present invention are described below with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer, other programmable data processing apparatus,or other devices create means for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer, other programmabledata processing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

For purposes of simplicity and clarity of illustration, elements shownin the figures have not necessarily been drawn to scale. For example,the dimensions of some of the elements may be exaggerated relative toother elements for clarity. Further, where considered appropriate,reference numbers are repeated among the figures to indicatecorresponding, analogous, or like features.

One or more embodiments disclosed within this specification relate tocall processing and, more particularly, to redirecting a call based uponcall processing rules that utilize the location of a called party. Inaccordance with the inventive arrangements disclosed within thisspecification, a call from a calling party directed to a called partycan be selectively redirected based upon various call processing rulesspecified by the called party. The call processing rules are locationdependent in that the particular call processing rule that is selectedand implemented is chosen according to the location of the called partyat the time that the call is placed and/or is being redirected.

FIG. 1 is a block diagram illustrating an example of a communicationsystem 100. Communication system 100, as shown, includes a network 105through which a plurality of different devices are communicativelylinked. In one aspect, network 105 can be implemented as, or include,any of a variety of different networks such the Public SwitchedTelephone Network (PSTN), a WAN, a LAN, a wireless network, a mobilenetwork, a Virtual Private Network (VPN), the Internet, other publicand/or private networks and/or various combinations of the foregoing.

As shown, an originating device 110 is communicatively linked to network105 as is each of destination devices 115A, 115B, and 115C. Destinationdevices 115A-115C are collectively referred to as destination device115. Each of originating device 110 and destination devices 115 isimplemented as a device or system that can initiate, conduct, andreceive telephone calls or simply “calls.” A “call” is a voicecommunication session between two or more endpoints, e.g., originatingdevice 110 and a destination device 115A, 115B, or 115C. A call can be aconventional telephone call carried, at least in part, over the PSTN, aVoice Over Internet Protocol (VOIP) call or other packet-switched voicecommunication session, a mobile phone call, a combination of two or moreof the foregoing, etc.

Examples of originating device 110 and destination devices 115 include atelephone, whether analog, digital, or packet switched, a mobile phone,a data processing system (e.g., computer, laptop, tablet, etc.)executing suitable operational and communication application software,or the like. Each of originating device 110, destination device 115A,destination device 115B, and destination device 115C can be associatedwith a unique telephone number or other network address (hereafter“number”) to which a call can be directed.

A calling party, i.e., a human being, 120 is associated with originatingdevice 110. A called party 125 is associated with each of destinationdevices 115A, 115B, and 115C. In one aspect, each of destination devices115A-115C is located at a different physical location. For example,destination device 115A is located at the office of called party 125.Destination 115B is located at the home of called party 125. Destinationdevice 115C is a mobile phone of called party 125.

Call processing system 130 is a data processing system that iscommunicatively linked to network 105. Call processing system 130 can becommunicatively linked to network 105 through any of a variety ofintermediary networks, interfaces, and/or switching nodes as may berequired. As shown, call processing system 130 includes one or more callprocessing rules 135.

In one aspect, each of call processing rules 135 is location dependent.More particularly, each of call processing rules 135 is applicable and,as such, executed, based upon the location of the called party.Accordingly, call processing system 130 is generally programmed orconfigured to receive and/or intercept calls, apply one or more of callprocessing rules 135 to the call, and optionally redirect the call asmay be required by execution of applicable call processing rules 135.

In operation, calling party 120, using originating device 110, initiatesa call to called party 125. The call is received, e.g., intercepted, bycall processing system 130. Call processing system 130 determines theparticular called party to which the call is directed. For example, callprocessing system 130 can access a database of numbers, where eachnumber is associated with a user, e.g., a called or calling party as thecase may be. Having determined the called party for the call, callprocessing system 130 determines and/or obtains location information 140for called party 125. The location information specifies the currentlocation of called party 125.

Location information 140 can be specified in any of a variety ofdifferent formats whether as an address, a longitude and latitude (e.g.,Global Positioning System coordinates), or the like. Further, locationinformation 140 can be determined by any of a variety of differenttechniques. In one aspect, location information 140 is obtained using aGlobal Positioning System (GPS) receiver worn by, or with, called party125 that allows the location of called party 125 to be determined andprovided to call processing system 130. For example, a mobile phoneincludes a GPS receiver.

In another aspect, location information 140 is determined by calledparty 125 having a presence or being logged into a particular systemand/or using a particular client. For example, called party 125 may belogged into a communication system such as an instant messaging systemand/or an electronic mail system. The particular client through whichcalled party 125 logs in can be identified. If the client is associatedwith a particular location, the location of called party 125 can bepresumed to be the same as the particular client through which calledparty 125 logged into the communication system.

In another aspect, location information 140 is determined by evaluatingbadge, scanner, and/or card reader data that may be obtained as calledparty 125 enters and/or leaves particular rooms of a building or othermonitored structure. Such information can be reported back to callprocessing system 130.

In still another aspect, one or more other triangulation methods can beused. Further, call processing system 130 can be provided with access toa calendar of called party 125. The calendar can specify locationinformation for called party 125 by way of indicating scheduled meetingsand meeting locations, whether called party 125 is working from home, ona customer site, etc. for the day or for particular times during theday.

In any case, having received the call from originating device 110, callprocessing system 130 can search call processing rules 135 for one ormore applicable call processing rules. In one aspect, call processingsystem 130 searches for call processing rules 135 that match one or moreattributes of the particular call that was received and the location ofcalled party 125. In doing so, the particular set or subset of callprocessing rules 135 that are searched also can be limited to thoseapplicable to called party 125. Call processing system 130 can selectthe matching call processing rule and execute the selected callprocessing rule. Accordingly, the call from calling party 120 isredirected in accordance with the matched one or more of call processingrules 135.

FIG. 2 is a table illustrating examples of call processing rules 135.For purposes of illustration, six different call processing rules areillustrated for a particular called party named, or having the identityof, “John Smith.” Each of the call processing rules is specific to aparticular party, e.g., John Smith, as opposed to a particular dialednumber and, as such, destination device of the called party.

Regarding call processing rule 1, when a call is directed to John Smith(e.g., any number associated with John Smith) while John Smith islocated at the office and the calling number is “0123456789,” the callis redirected to the mobile number associated with John Smith. The callcan be redirected regardless of the originally dialed number for thecall. If the originally dialed number was the mobile number for JohnSmith, then no redirection is necessary.

Regarding call processing rule 2, when a call is directed to John Smithwhile John Smith is located at the office and the calling number is“1234567890,” the call is redirected to the office number for JohnSmith. The call can be redirected regardless of the originally dialednumber for the call. For example, a call to the mobile phone of JohnSmith that matches call processing rule 2 is redirected to the office ofJohn Smith. If the originally dialed number was the office number forJohn Smith, then no redirection is necessary.

Regarding call processing rule 3, when a call is directed to John Smithwhile John Smith is located at home and the calling number is“1234567890,” the call is redirected to the mobile number for JohnSmith. The call can be redirected regardless of the originally dialednumber for the call. If the originally dialed number was the mobilenumber for John Smith, then no redirection is necessary.

Call processing rules 2 and 3 illustrate the variability that isavailable when incorporating location into the call processing rules. Inthe case of call processing rules 2 and 3, the incoming call isredirected to a different location when the only difference between thetwo is the location of the called party.

Regarding call processing rule 4, when a call is directed to John Smithwhile John Smith is located at home and the calling number is associatedwith a work contact, the call is redirected to the mobile number forJohn Smith. The call can be redirected regardless of the originallydialed number for the call. If the originally dialed number was themobile number for John Smith, then no redirection is necessary.

Regarding call processing rule 5, when a call is directed to John Smithwhile John Smith is located at home and the calling number is associatedwith a personal contact, the call is redirected to the home number forJohn Smith. The call can be redirected regardless of the originallydialed number for the call. If the originally dialed number was the homenumber for John Smith, then no redirection is necessary.

Regarding call processing rule 6, when a call is directed to John Smithwhile John Smith is located at an unspecified location or one other thanthe office or home, and the calling number is associated with a workcontact, the call is redirected to the mobile number for John Smith. Thecall can be redirected regardless of the originally dialed number forthe call. If the originally dialed number was the mobile number for JohnSmith, then no redirection is necessary.

In the case of processing rule 6, additional call transfer options arespecified that indicate special handling for the call. In one aspect,when the called party answers, the call processing system can presentthe called party with one or more additional call transfer options fromwhich the called party may select. In one example, the called party maybe located on premises at an alternate business location where manyother destination devices are available. In that case, the callprocessing system can present the called party with one or moredifferent options for transferring the call to another destinationdevice such as another nearby destination device.

While not explicitly illustrated, in another aspect, the call attributescolumn can include a time or time span. In that case, for the callprocessing rule to be applicable, the call would need to arrive at thecall processing system within the time span specified within the callprocessing rule. As an example, a time span of 3:00 pm to 4:00 pm can beadded to call processing rule 4. Thus, call processing rule 4 is onlyapplied when all attributes of the call match those specified and theuser is located in the location specified in the call processing rule.

FIG. 3 is an exemplary implementation of call processing system 130 ofFIG. 1. Call processing system 130 includes at least one processor(e.g., a central processing unit) 305 coupled to memory elements 310through a system bus 315 or other suitable circuitry. As such, callprocessing system 130 can store program code within memory elements 310.Processor 305 executes the program code accessed from memory elements310 via system bus 315. In one aspect, for example, call processingsystem 130 is implemented as a computer or other programmable dataprocessing apparatus that is suitable for storing and/or executingprogram code. It should be appreciated, however, that call processingsystem 130 can be implemented in the form of any system including aprocessor and memory that is capable of performing and/or initiating thefunctions and/or operations described within this specification. Forexample, call processing system 130 can be implemented as a telephoneswitch having a processor and memory.

Memory elements 310 include one or more physical memory devices such as,for example, local memory 320 and one or more bulk storage devices 325.Local memory 320 refers to RAM or other non-persistent memory device(s)generally used during actual execution of the program code. Bulk storagedevice(s) 325 can be implemented as a hard disk drive (HDD), solid statedrive (SSD), or other persistent data storage device. Call processingsystem 130 also can include one or more cache memories (not shown) thatprovide temporary storage of at least some program code in order toreduce the number of times program code must be retrieved from bulkstorage device 325 during execution.

Input/output (I/O) devices such as a keyboard 330, a display 335, and apointing device 340 optionally can be coupled to call processing system130. The I/O devices can be coupled to call processing system 130 eitherdirectly or through intervening I/O controllers. One or more networkadapters 345 also can be coupled to call processing system 130 to enablecall processing system 130 to become coupled to other systems, computersystems, remote printers, telephony switches, text-to-speech systems,speech recognition systems, and/or remote storage devices throughintervening private or public networks. Modems, cable modems, andEthernet cards are examples of different types of network adapters 345that can be used with call processing system 130.

As pictured in FIG. 3, memory elements 310 can store a call processingapplication 350 and call processing rules 135. Call processingapplication 350 and call processing rules 135, being implemented in theform of executable program code, can be executed by call processingsystem 130 and, as such, are considered an integrated part of callprocessing system 130. Call processing system 130 is programmed toperform and/or initiate the various operations and/or functionsdescribed within this specification. Moreover, call processingapplication 350, call processing rules 135, and the various items ofinformation upon which call processing system 130 operates arefunctional data structures that impart functionality when employed aspart of call processing system 130.

FIG. 4 is a flow chart illustrating an exemplary method 400 of callprocessing. Method 400 can be performed by a system such as callprocessing system 130 as described with reference to FIGS. 1-3 of thisspecification.

Method 400 can begin in block 405, where a calling party initiates acall to a called party. In block 410, the system receives, orintercepts, the call directed to the called party. In one example, thesystem intercepts any call directed to a called party that has specifiedone or more call processing rules as described within thisspecification.

In block 415, the system determines one or more attributes of the call.As discussed, the system can determine attributes of the call including,but not limited to, the number of the calling party or originatingdevice, the time of the call, the number of the called party initiallydialed, etc. In block 420, the system determines the location of thecalled party. For example, the system can query a location determinationsystem, receive location information from a location determinationsystem from time-to-time, periodically, or the like.

In block 425, the system searches the call processing rules according tothe attributes of the call and the location of the called party. Itshould be appreciated that the particular call processing rules that aresearched can be filtered or limited only to those call processing rulesassociated with the called party. For example, searching the callprocessing rules can include first identifying a set of call processingrules associated with the called party. The call processing rulematching the attribute(s) of the call and the location of the calledparty can be selected from the set of call processing rules associatedwith the called party. The attributes of the call processing rules thatare matched can include the calling party or origination number for thecall, the classification of that number as belonging to a particulargroup such as “personal,” “work,” etc., time (time span), etc. In block430, the system determines whether a match was found. If so, method 400proceeds to block 440. If not, method 400 continues to block 435.

Continuing with block 435, in the case that no matching call processingrule was found, the system performs standard call processing. In thisexample, the call is directed, or connected, to the originally specifieddestination device, or dialed number. After block 435, method 400 canend.

In block 440, in the case where a matching call processing rule isfound, the call received in block 410 is redirected according to thematched call processing rule. Accordingly, the call is redirected from afirst destination device to a second and different destination device asspecified in the matched call processing rule. As noted in describingFIG. 2, in some cases, redirection is not required as the destinationnumber specified by the call processing rule is the same as the numberoriginally dialed by the calling party. After block 440, method 400proceeds to block 445.

In block 445, the system determines whether the call processing ruleindicates any special processing. Special processing includes providingthe called party with one or more additional call transfer options asdescribed with reference to call processing rule 6 of FIG. 2. In oneexample, special processing can be limited to cases in which thedestination device specified by the call processing rule is a mobiledevice of the called party. If no special handling is indicated by thematched call processing rule, method 400 can end.

If special handling is indicated by the matched call processing rule,method 400 continues to block 450. If not, method 400 can end. In block450, the system provides one or more call transfer options to the calledparty. For example, responsive to the called party picking up, oranswering the incoming call, one or more call transfer options can beplayed to the called party over the call using an automated attendant,e.g., text-to-speech and/or prerecorded messages. The call transferoptions are provided to the called party prior to establishing aconnection, e.g., a voice link, between the calling party (originatingdevice) and the called party (the second destination device or firstdestination device if no redirection was required). For example, thecalling party can remain on hold or in a waiting state while the calltransfer options are presented or played to the called party.

In block 455, the system can receive a selection of a call transferoption from the called party. The selection can be made by pressing akey of the particular destination device used by the called party or byvoice. In block 460, responsive to receiving the selection from thecalled party, the system redirects the call from the second destinationdevice to the particular destination device specified by the calledparty. In one aspect, the destination device selected as a call transferoption is a third and different destination device. It should beappreciated that in the case where the call processing rule specified asame number as originally dialed, the call is transferred to a secondand different destination device.

In another aspect, the destination device can be the same destinationdevice over which the user made the call transfer selection, e.g.,effectively choosing not to exercise special processing.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a,” “an,” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “includes,”“including,” “comprises,” and/or “comprising,” when used in thisspecification, specify the presence of stated features, integers, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof.

Reference throughout this specification to “one embodiment,” “anembodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment disclosed within thisspecification. Thus, appearances of the phrases “in one embodiment,” “inan embodiment,” and similar language throughout this specification may,but do not necessarily, all refer to the same embodiment.

The term “plurality,” as used herein, is defined as two or more thantwo. The term “another,” as used herein, is defined as at least a secondor more. The term “coupled,” as used herein, is defined as connected,whether directly without any intervening elements or indirectly with oneor more intervening elements, unless otherwise indicated. Two elementsalso can be coupled mechanically, electrically, or communicativelylinked through a communication channel, pathway, network, or system. Theterm “and/or” as used herein refers to and encompasses any and allpossible combinations of one or more of the associated listed items. Itwill also be understood that, although the terms first, second, etc. maybe used herein to describe various elements, these elements should notbe limited by these terms, as these terms are only used to distinguishone element from another unless stated otherwise or the contextindicates otherwise.

The term “if” may be construed to mean “when” or “upon” or “in responseto determining” or “in response to detecting,” depending on the context.Similarly, the phrase “if it is determined” or “if [a stated conditionor event] is detected” may be construed to mean “upon determining” or“in response to determining” or “upon detecting [the stated condition orevent]” or “in response to detecting [the stated condition or event],”depending on the context.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the embodiments disclosed within this specification havebeen presented for purposes of illustration and description, but are notintended to be exhaustive or limited to the form disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of theembodiments of the invention. The embodiments were chosen and describedin order to best explain the principles of the invention and thepractical application, and to enable others of ordinary skill in the artto understand the inventive arrangements for various embodiments withvarious modifications as are suited to the particular use contemplated.

1-9. (canceled)
 10. A system comprising: a processor programmed toinitiate executable operations comprising: receiving a call directed toa first destination device associated with a called party; determiningan attribute of the call; determining a location of the called party;selecting a call processing rule matching the attribute of the call andthe location of the called party; and redirecting the call to a secondand different destination device according to the matched callprocessing rule.
 11. The system of claim 10, wherein the attribute ofthe call is a number of a device from which the call originated.
 12. Thesystem of claim 10, wherein the attribute of the call is a time of thecall.
 13. The system of claim 10, wherein selecting a call processingrule matching the attribute of the call and the location of the calledparty comprises: first identifying a set of call processing rulesassociated with the called party; and selecting the call processing rulematching the attribute of the call and the location of the called partyfrom the set of call processing rules associated with the called party.14. The system of claim 10, wherein the call processing rule indicatesthat the called party is to be prompted upon pickup of the call at thesecond destination device, wherein the processor is further programmedto initiate executable operations comprising: responsive to a pickup ofthe call at the second destination device, providing at least a thirddestination device as a call transfer option prior to connecting thecalled party with a calling party of the call; receiving a selection ofa provided call transfer option; and processing the call according tothe selection.
 15. The system of claim 14, wherein the call remains atthe second destination device.
 16. The system of claim 14, wherein thecall is further redirected to the third destination device specified bythe selection.
 17. The system of claim 14, wherein the call processingrule only permits the providing at least a third destination device as acall transfer option when the second destination device is a mobiledevice.
 18. A computer program product for call processing, the computerprogram product comprising a computer readable storage medium havingprogram code stored thereon, the program code executable by a processorto perform a method comprising: receiving, using the processor, a calldirected to a first destination device associated with a called party;determining, using the processor, an attribute of the call; determining,using the processor, a location of the called party; selecting, usingthe processor, a call processing rule matching the attribute of the calland the location of the called party; and redirecting, using theprocessor, the call to a second and different destination deviceaccording to the matched call processing rule.
 19. The computer programproduct of claim 18, wherein the attribute of the call is a number of adevice from which the call originated.
 20. The computer program productof claim 18, wherein the attribute of the call is a time of the call.21. The computer program product of claim 18, wherein selecting a callprocessing rule matching the attribute of the call and the location ofthe called party comprises: first identifying a set of call processingrules associated with the called party; and selecting the callprocessing rule matching the attribute of the call and the location ofthe called party from the set of call processing rules associated withthe called party.
 22. The computer program product of claim 18, whereinthe call processing rule indicates that the called party is to beprompted upon pickup of the call at the second destination device, themethod further comprising: responsive to a pickup of the call at thesecond destination device, providing at least a third destination deviceas a call transfer option prior to connecting the called party with acalling party of the call; receiving a selection of a provided calltransfer option; and processing the call according to the selection. 23.The computer program product of claim 22, wherein the call remains atthe second destination device.
 24. The computer program product of claim22, wherein the call is further redirected to the third destinationdevice specified by the selection.
 25. The computer program product ofclaim 22, wherein the call processing rule only permits the providing atleast a third destination device as a call transfer option when thesecond destination device is a mobile device.